<?php

/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/4/12 0012
 * Time: 上午 12:47
 */

namespace Admin\Controller;

use Think\Controller;

class GoodsCategoryController extends Controller {

    //创建模型对象
    private $_model = null;

    /**
     *
     * 初始化,遍历给每个页面
     */
    protected function _initialize() {

        //构建数据
        $meta_titles = array(
            'index' => '商品管理',
            'add' => '商品添加',
            'edit' => '商品修改',
            'delete' => '商品删除',
        );
        $meta_title = $meta_titles[ACTION_NAME];
        //发送数据
        $this->assign('meta_title', $meta_title);
        //创建模型对象
        $this->_model = D('GoodsCategory');
    }
    
    /**
     * 创建一个公共函数用于传递数据
     */
    private function display_view(){
         //获取数据
            $data = $this->_model->getList('id,name,parent_id');
            //插入顶级分类
            array_unshift($data, array('id'=>0,'name'=>'顶级分类','parent_id'=>0));
            //将数据转换成json
            $jsondata = json_encode($data);
            //发送数据
            $this->assign('jsondata', $jsondata);
    }


    /**
     * 显示首页
     */
    public function index() {
        $rows = $this->_model->order('lft')->where(array('status' => 1))->select();
        $this->assign('rows', $rows);
        $this->display();
    }
    
    /**
     * 添加方法
     */
    public function add() {
        if (IS_POST) {
            $rows = $this->_model->create();
            if ($this->_model->addCategory($rows) === false) {
                $this->error('添加失败');
            } else {
                $this->success('添加成功', U('index'));
            };
        } else {
            //调用显示列表页面
            $this->display_view();
            $this->display();
        }
    }
    /**
     * 逻辑删除
     * @param type $id
     */
    public function del($id){
        if($this->_model->deleteCategory($id) === false){
            $this->error('删除失败');
        }else{
            $this->error('删除成功',U('index'),2);
        }
    }
    
    /**
     * 编辑方法
     * @param type $id
     */
    public function edit($id=1){
        if(IS_POST){
            $rows = $this->_model->create();
            if ($this->_model->updateCategory($rows) === false) {
                $this->error('修改失败');
            } else {
                $this->success('修改成功', U('index'));
            };
        }else{
            
            //调用显示列表页面
            $this->display_view();
            //获取数据
            $rows = $this->_model->find($id);
            $this->assign('row',$rows);
            $this->display('add');
        }
    } 
}
